/*
 * Created by LiuYou on 2020/8/19.
 *
 */

#ifndef CPPFROMMYCTEACHERBOOK_PC_HPP
#define CPPFROMMYCTEACHERBOOK_PC_HPP


#include "Object.hpp"
#include "GraphicsCard.hpp"

namespace ly {
    class Pc : public Object {
    private:
        GraphicsCard* graphicsCard{nullptr};
    public:
        std::string toString() const override {
            return "Pc{graphicsCard=" + graphicsCard->toString() +
                   "}";
        }

        GraphicsCard* getGraphicsCard() const {
            return graphicsCard;
        }

        GraphicsCard* getGraphicsCard() {
            return graphicsCard;
        }

        Pc& setGraphicsCard(GraphicsCard* graphicsCard) {
            Pc::graphicsCard = graphicsCard;
            return *this;
        }

        virtual ~Pc() = default;

        explicit Pc(GraphicsCard* graphicsCard) : graphicsCard(graphicsCard) {}

        Pc() = default;

    };

}


#endif //CPPFROMMYCTEACHERBOOK_PC_HPP
